ssbbssc, WarSC, оба офнитесь
фигню несёте
судя по тому что написал афтар ему нужен чит позволяющий ему строить любого героя
но триггеров он не знает
поэтому сначала читаем статьи
потом делаем триггер
событие - игрок вводит текст -cheat
действие - создать триггерному игроку строителя способного строить особый алтарь
простейший триггер
ворлдэдит=>Файл=>Параметры=>Общие=>Разрешить использ. отриц. значений в Редакторе Объектов.
Изменяешь значение после Шифт+Энтер. Способности приписываешь через запятую названиями переменных (показать ид - Контрол+Ди).
Так ты же выключаешь триггер на 18 секунд вот он и не срабатывает.
Поставь условие, что герыч не имеет абилки-пустышки, если не имеет - дать её и через 18 сек забрать и пустить молнию.
Правда я не уверен насчёт того, отловится ли attacking unit через 18 сек вейта, проверь...
Вообще, если устраивает орбом - то даёшь "сферу молний" с эффектом "цепь молний", у которой 18 сек перезарядка(у цепи не у сферы)
предмет это просто иконка которая содержит способности
книга заклинания это способность
и редактировать нужно способность "книга заклинаний"
или создать на её основе новую способность "моя книга заклинаний"
а потом у предмета просто указать способность "моя книга заклинаний"
если не хватает знаний то их можно пополнить в статьях
Первый вопрос. Проблема с триггерным перемещением возникает, если скорость объекта, движение которого подразумевается, равно 0. Поставь 1 и будет тебе счастье. Есть интересный способ обездвижить юнита. Это через SetUnitPropWindow. Поставь в аргументы юнита и число 0 и он перестанет двигаться.
Второй вопрос. В характеристиках твоего dummy-юнита в РО(редактор объектов) выставь поле: Наводка (контрольный радиус) (uerd) и поставь значение 0.00. Юнит не будет поворачиваться при выстреле.
но если ты не знаешь порядок выполнения и системные функции карты(которые редактор создаёт сам) то забудь про создание мода Nikita_Gamers, инициализация
создание триггера,регистрация события,добавление действий и условий к триггеру
также лучше вынести все инициализации в другой поток(ибо лимит)
и нужно стартануть этот поток из начального потока
скорее всего ты ничерта не понял поэтому советую xgm.guru/p/wc3/code-flow-and-data-access
и вытащи из пустой мапы j файл чтобы глянуть какие там функции(начальный поток стартует из функции main)
и посмотри какие бж вызываются из main чтобы знать какую функцию редактировать в близард джи
А касательно остальной части, если UnitUserData нигде не используется, создаешь массив юнитов и отрядов. Массив юнитов забиваешь своими капитанами. В UnitUserData капитана пихаешь его порядковый номер в массиве. Создаешь группу юнитов для этого капитана.
Добавление через каст способности.
Я бы делал через 2 разные абилки с одной и той же позицией в интерфейсе. Пока нужный тебе юнит не является частью отряда - у него таргетная абилка при касте которой на капитана он добавляется в группу соответствующего капитана и получает 2ю абилку взамен первой.
Касательно выделения этих пехотинцев - можно намутить что-то с передачей контроля или создать триггер, который будет снимать выделение с юнитов у которых есть 2я абилка. Если ты хочешь чтобы по одиночке можно было выделять пехотинцев - можешь создать переменную для каждого игрока с капитанами, куда будет просто записываться последний выбранный юнит. При снятии выделения - проверять не выбран ли этот же юнит, в случае чего не снимать выделение. Правда не уверен будет ли корректно работать :> В крайнем случае - будет работать в три клика вместо двух. Если я не ошибаюсь.
Касательно поведения этих пехотинцев - что-то реально стоящее сделать сложно. Возможно, но мне не с руки все расписывать :> Простейший вариант - приказывать пехотинцам после добавления в группу следовать за капитаном.
Добавление через атаку капитана
Триггер, проверяющий что капитан получил урон или атакован, как угодно. Далее любым способом проверяешь есть ли в группе этого капитана юниты. Если нет - выбираешь всех пехотинцев N радиусе, добавляешь в отряд, заменяешь абилку/либо просто приказываешь кастануть в капитана первую абилку.
Параметры стака ядов с одним и тем же баффом, это нужно чтобы складывались замедлени и\или урон от разных юнитов, или бафф тупо обновлялся.
С одним из параметров яды с разными баффами скатаются независимо, каждый вешает свой бафф. (годная основа для замедляющих способностей)
А игра вылетает из за зацикливания, темболее бафф при удалении и появлении наносит 0.00 ед урона, это так для справки.
подведя итоги
простого способа нету
надо писать громоздкую систему с таймером и проверками на приказ, время с последней атаки и местоположения(на случай если юнит побежит за целью)
Mrachny, DesiMorti, нифига не верно
событие юнит умирает
откуда взяться приказу?
или вы думаете что в компе сидят маленькие человечки которые читают ваши мысли и следят чтобы всё работало так как вы того хотите?
должен вас огорчить но их не существует
и приказа не существует(ибо его никто не создал) DesiMorti, есть куча систем отлова урона
даже есть статья на гуи на эту тему
хоть иногда статьи читайте
а вообще всё делается намного проще
просто помечаем построенный здания (например при постройке даём им дамми спел)
а при смерти юнита проверяем помечен он или нет(например есть ли у него дамми спел)
и если помечен то создаём юнитов
Использовать глобальные переменные с префиксами или называть их с заглавных букв. Только так. Странно, что редактор вообще даёт возможность это скомпилить.
во первых перенеси весь не системный код из j в wct файл
для того чтобы понять что стоит переносить а что нет придётся выучить jass и прочесть кучу статей(минимум 50)
Какой точный вопрос, однако.
Ответ: триггерно, либо в редакторе объектов, если нужно изменить характеристики, не создаваемые/изменяемые триггерно.
Попытаюсь сыграть в экстрасенса, подстрахуюсь логикой:
Если нужно, чтобы изменялась характеристика количественно, т.е, например, увеличивался наносимый урон, то в действии нанесения урона вместо точного значения нужно выставить функию (формулу, зависимость etc.) имеющую аргументом уровень способности.
Если нужно менять характеристику качественно, например, тип наносимого урона, то следует использовать условия, сравнивающие уровень способности с нужным значением и... далее есть несколько вариантов реализации, но наиболее подходящий - просто выполнять все последующие действия триггера внутри оператора, а затем создать несколько раз скопировать его для других условий. Хотя, с точки зрения программирования, это не очень хороший вариант.
отменять постройку юнита если технология уже ап
либо как сразу говорили через ап здания
где каждому твоему зданию будет соответствовать такое же здание но с дополнительным слотом
с продажей юнита открываешь доту и смотришь как там сделан спелл передать предметы у куры
он сделан как раз через продажу юнита
иначе никак
если не нравится пожалуйся богу об этом
или близардам
пусть выпустят новый патч специально для тебя
E: Unit starts the effect of an ability.
C: Ability being cast =
A: Set Casting unit Life to (Life of Casting unit + 200).
Вот скрин настройки действия.
По случайному стечению обстоятельств я делал похожую систему.
Лови мапу.
Когда будешь пробовать:
Возьми герою огнестрельное оружие (оно должно быть в 1 слоте инвентаря)
Когда у героя огнестрел, он лишается возможности атаковать в ближнем бою. Стрельба осуществляется щелчком левой кнопки мыши (приказ smart) по противнику. Чтобы целиться было легче, включай режим позиционного огня (горячая клавиша А), тогда герой будет стрелять по щелчку не только по противникам, но и в точку.
Стрелы/пули летят по прямой и разбиваются о препятствия. Они ранят первого противника на своем пути. Можно настроить АОЕ.
Все триггеры, связанные с системкой в директории Missile Sys. Так же нужен Bribe's Unit Indexer. Это один триггер и он лежит рядом.
Выделяешь всех юнитов в определенной области в группу. Так есть определенный радиус действия (круг выбора области заклинанием типа у бурана, огненного столба и др.), в редакторе называется "Область воздействия", вокруг центра каста перебираешь всех юнитов
Создаешь dummi и кастуешь над каждым юнитом в группе способность "гнев деревьев". Или пробуешь полностью триггерно создать эффект обхвата юнитов (эти лозы и корни деревьев), паузишь и периодически таймером наносишь урон до определенного времени (под конец удаляешь эффект, а если кто-то умер, то также удаляешь эффект). Только, когда триггерно делаешь, баффы нацепить не сможешь, придеться также делать. Заморочек со вторым способом больше
Способность пустышку можно создать на основе канала.
Askarto,
Текстуры ландшафта находятся в файлах War3.mpq и War3x.mpq
в папке \TerrainArt\
Пример:
Распаковываешь \TerrainArt\Cityscape\City_GrassTrim.blp Перерисовываешь как надо, закидываешь в карту по этому же адресу. Город - Газон будет выглядеть так как нарисуешь :)
область- x1 x2 y1 y2
Если координата юнита x1<=X=<x2 и y1<=Y<=y2, то юнит в области с этими координатами. Иначе его там нет. Да и в гуи, вроде было, область содержит точку
Ну насчет первых двух вопросов не знаю. Не супер-пупер картодел. Но с последним - скачай вот это: xgm.guru/p/wc3/jassnewgenpack-exp это расширенный редактор, там можно и карту гиганта сделать и текстур добавить больше чем возможно, по моему до 16 штук, да и еще много чего, включая выключение огранки на декор и т.д. Когда запустиш через эту програмку редактор - появиться в верху дополнительные кнопочки. Нажимаеш на Extensions и в менюшке - Edit Tileset. И выбирай до 16 любых текстур... Вплоть до полной замены всех текстур карты. ..
Есть в редакторе такая вещь как Игровой интерфейс. Дополнительно - Игровой интерфейс. Ставишь галочку сверху окна. И находишь Модель: герой на мине карте. И меняешь из импорта или на любую схожую модельку, например рудника.
А также там можно найти пинги, но это нужно поискать, он там есть это точно bazeba:
Есть в редакторе такая вещь как Игровой интерфейс. Дополнительно - Игровой интерфейс. Ставишь галочку сверху окна. И находишь Модель: герой на мине карте. И меняешь из импорта или на любую схожую модельку, например рудника.
А также там можно найти пинги, но это нужно поискать, он там есть это точно
Ой извени, не Модель, а Пиктограмма: герой на минекарте bazeba:
Есть в редакторе такая вещь как Игровой интерфейс. Дополнительно - Игровой интерфейс. Ставишь галочку сверху окна. И находишь Модель: герой на мине карте. И меняешь из импорта или на любую схожую модельку, например рудника.
А также там можно найти пинги, но это нужно поискать, он там есть это точно bazeba:
Есть в редакторе такая вещь как Игровой интерфейс. Дополнительно - Игровой интерфейс. Ставишь галочку сверху окна. И находишь Модель: герой на мине карте. И меняешь из импорта или на любую схожую модельку, например рудника.
А также там можно найти пинги, но это нужно поискать, он там есть это точно
Ой извени, не Модель, а Пиктограмма: герой на минекарте
Все намного проще чем Вы думаете. В меню редактора "Сценарий => Дополнительно" есть такая галочка, называется "Скрытые области частично видимы", убери эту галочку и будет тебе магия)
p.s.: Если сразу не включится функция пересохрани карту и перезапусти варик.
Берешь и делаешь карту сам, копипастишь из доты и обрезаешь под размер 128 на 128 или 256 на 256 в формате тга, а затем импортируешь в карту по подходящему пути, инфа есть в оглавлении статей.
(
бд-база данных
баг-когда 1 триггер перемещает предмет а 2 удаляет врезультате эфект от предмета есть а сомого предмета нету
но ты с бд замучаешся если герой атакует ведь это надо отслеживать ловкость и все предметы
цикл это loop если что
В Состоянии скорости атаки в +5-100% более всего видна разница по сравнению с исходным интервалом атаки. Между состояниями +300% АС и +400% АС разницу заметить очень трудно.
Короче самыми значимыми будут бонусы, которые ты получаешь пока суммарный бонус АС близок к нулю.
Скорость атаки каждого юнита варьируется от -80% (в 4 раза больший интервал) до +400% (в 4 раза меньший интервал). То есть, если у тебя 0% АС и тебя замедляют на 40% - то на скорости атаки это очень сильно скажется. В то же время если у тебя +350% АС и тебя замедлили на 40%, то эффекта тупо не будет видно.
Но 0% будет едва ли, т.к. каждое очко ловкости даёт 2% скорости атаки.
баф у ауры убрать нельзя
ибо именно баф даёт все бонусы ауры
для теста можешь триггерно удалять ауру и баф с юнита
бонус от ауры тут же исчезнет
а если не удалять баф то он повесит пару секунд давая бонус
лучше всего это видно на доспехах веры
так что пиши свою ауру
на основе таймера с периодом в 1 секунду и перебором всех юнитов на расстоянии R от владельца ауры и добавлении им бонусов
а так же удалением бонусов у отошедших юнитов
да эт верно nvc123, да вджасс. в мапе был один гуи триг, в нем было несколько действий.
короче я jngp переставил и все стало работать корректно... ???
сори за бессмысленную трату вашего времени. как закрыть вопрос?
Хмм Вроде разобрался скрыть и показать функции почему то багуют всё дело
ОМГ сам затупил под ночь простите... Там есть еще одна похожая функция это свернуть развернуть спутал :) Всё теперь всё работает : D Ура теперь милая мультиборда будет на ресурсах а не громоздкая лидерборда (да еще и без иконок была)
Хз. Вставил твой скрипт- все работает. Может быть у тебя сбилась переменная bj_lastCreatedMultiboard или она ссылается на другой мультиборд? Или у тебя индексы криво иницализированы (0-11), а GetConvertedPlayerId(p) возвращает 1-12. Или может у тебя событие кривое или оно вообще отсутсвует? Короче скинь целиком скрипт.
вариант первый
делаем бд с мин/макс атакой всех юнитов
и в мультибоард отображаем данные из бд
второй вариант
через рб достаём данные из памяти
но ты второй вариант скорее всего не осилишь
про то как сделать то что я написал ты можешь прочесть там
» WarCraft 3 / манабар
» WarCraft 3 / Один предмет
» WarCraft 3 / Пожалуйста, помогите с способностью!
» WarCraft 3 / Тип атаки
» WarCraft 3 / Событие
» WarCraft 3 / синтаксис
» WarCraft 3 / Как сделать способность?
» WarCraft 3 / текстуры ландшафта
» WarCraft 3 / Перемещение области.
» WarCraft 3 / По типу рельефа
» WarCraft 3 / мини карта
» WarCraft 3 / Замена порчи
» WarCraft 3 / Скорость атаки
» WarCraft 3 / Аура на увеличение магического урона
» WarCraft 3 / Библиотеки
» WarCraft 3 / Мультиборд